Cargar bibliotecas
library(sf)
library(dplyr)
library(leaflet)
library(plotly)
library(DT)
Cargar documentos
# Carga de primates
prim <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/gbif/primates-cr-registros.csv",
options = c(
"X_POSSIBLE_NAMES=decimalLongitude",
"Y_POSSIBLE_NAMES=decimalLatitude"
),
quiet = TRUE
)
st_crs(prim) = 4326
# Carga de cantones
cantones <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/ign/delimitacion-territorial-administrativa/cr_cantones_simp_wgs84.geojson",
quiet = TRUE
)
Comando para cruzar datos
prim<-
prim %>%
st_join(cantones["canton"])
Parte 1
Tabla de primates avistados en Costa Rica
prim %>%
st_drop_geometry() %>%
select(family,
species,
stateProvince,
canton,
eventDate
) %>%
DT::datatable(
colnames = c("Familia", "Especie", "Provincia", "Cantón", "Fecha"),
rownames = FALSE,
options = list(
searchHighlight = TRUE,
language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
)
)
Parte 2
Gráfico de pastel
Primtot <- data.frame("species"=rownames(prim), prim)
dataprim <- prim[,c('species', 'year')]
figprim <- plot_ly(dataprim, labels = ~species, values = ~year, type = 'pie')
figprim <- figprim %>% layout(title = 'Avistamiento de primates por especie en Costa Rica (1839-2021).',
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
figprim
Parte 3
Mapa Leaflet
prim %>%
select(stateProvince,
canton,
locality,
eventDate) %>%
leaflet() %>%
addProviderTiles(providers$OpenStreetMap.Mapnik, group = "OpenStreetMap") %>%
addProviderTiles(providers$Stamen.TonerLite, group = "Stamen Toner Lite") %>%
addProviderTiles(providers$Esri.WorldImagery, group = "Imágenes de ESRI") %>%
addCircleMarkers(
stroke = F,
radius = 4,
fillColor = 'brown',
fillOpacity = 1,
popup = paste(
prim$stateProvince,
prim$canton,
prim$locality,
prim$eventDate,
sep = '<br/>'
),
group = "Primates en Costa Rica"
) %>%
addLayersControl(
baseGroups = c("OpenStreetMap", "Stamen Toner Lite", "Imágenes de ESRI"),
overlayGroups = c("Primates en Costa Rica")
) %>%
addMiniMap(
tiles = providers$Stamen.OpenStreetMap.Mapnik,
position = "bottomleft",
toggleDisplay = TRUE
)